test: fix boostCleaning guard precondition to cover timer_.reset() branch

startCleaning() precondition was missing before the first boostCleaning()
call, so active_==false caused early return before reaching the
if (boosting_) → timer_.reset() path. Adding startCleaning() first
brings CleaningController.cpp line coverage to 100%.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
